package org.pine.dictionary.dao.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import org.pine.dictionary.common.StatusEnum;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * super实体
 * </p>
 *
 * @author pine
 * @since 2024-05-15
 */
@Data
public class SuperEntity<ID extends Serializable> {

    /**
     * 自增主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    protected ID id;

    /**
     * 创建人id
     */
    protected ID createUserId;

    /**
     * 创建人用户名
     */
    protected String createUsername;

    /**
     * 创建时间
     */
    protected LocalDateTime createTime;

    /**
     * 更新人id
     */
    protected ID updateUserId;

    /**
     * 更新人用户名
     */
    protected String updateUsername;

    /**
     * 更新时间
     */
    protected LocalDateTime updateTime;

    /**
     * 状态: 1=启用，0=禁用
     *
     * @see StatusEnum
     */
    protected StatusEnum status;

    /**
     * 逻辑删除，0表示未删除，1表示已删除
     */
    protected Integer deleted;
}
